package fiuba.algo3.gpschallenge.gui;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.border.LineBorder;

import fiuba.algo3.gpschallenge.Controlador.Controlador;
import fiuba.algo3.gpschallenge.modelo.Juego;

public class PanelSuperiorNuevoJuego extends JPanel {
	
	private Juego modelo;
	private Controlador control;
	private Agregable interfazAgregable;
	private  final int ANCHO = 700;
	private  final int ALTO = 50;
	
	public PanelSuperiorNuevoJuego(Agregable interfazM, Juego modelo, Controlador control) {
		setBorder(new LineBorder(Color.WHITE, 2));
		interfazAgregable = interfazM;
		this.modelo = modelo;
		this.control = control;
		setPreferredSize(new Dimension(ANCHO, ALTO));
		
		setBackground(Color.BLACK);
		setLayout(null);
		
		JLabel holaUsuario = new JLabel("Hola " + modelo.getJugador().getNombre());
		holaUsuario.setHorizontalAlignment(SwingConstants.LEFT);
		holaUsuario.setForeground(Color.WHITE);
		holaUsuario.setFont(new Font("Arial", Font.BOLD, 15));
		holaUsuario.setBounds(10, 11, 153, 28);
		add(holaUsuario);
		
		JLabel tituloSeccion = new JLabel("Nueva Partida");
		tituloSeccion.setHorizontalAlignment(SwingConstants.CENTER);
		tituloSeccion.setForeground(Color.LIGHT_GRAY);
		tituloSeccion.setFont(new Font("Algerian", Font.PLAIN, 18));
		tituloSeccion.setBounds(222, 7, 227, 39);
		add(tituloSeccion);
		
		JButton botonVolver = new JButton("Volver");
		botonVolver.setBackground(Color.LIGHT_GRAY);
		botonVolver.setFont(new Font("Arial", Font.BOLD, 15));
		botonVolver.setBounds(570, 11, 104, 27);
		add(botonVolver);
		botonVolver.addActionListener (new botonVolverMenuListener());
	}
	
	private void cargarMenuDeUsuario() {
		interfazAgregable.limpiarVentana();
		PanelMenuDeUsuario menuDeUsuario = new PanelMenuDeUsuario(this.interfazAgregable, this.modelo, this.control);
		PanelSuperiorMenuUsuario panelSuperiorMenu = new PanelSuperiorMenuUsuario(this.interfazAgregable, this.modelo, this.control);
		interfazAgregable.agregarComponente(panelSuperiorMenu, BorderLayout.NORTH);
		interfazAgregable.agregarComponente(menuDeUsuario, BorderLayout.CENTER);	
	}
	
	
	class botonVolverMenuListener implements ActionListener {
		@Override
		public void actionPerformed(ActionEvent e){
			cargarMenuDeUsuario();
		}
	}

}